package com.kata.chapter10;

/**
 * 工作流程模板抽象类
 * Created by Solidsnake on 2014/11/27.
 */
public abstract class WorkFlowTemplate {

    /**
     * 打卡
     */
    protected abstract void login();

    /**
     * 晨会
     */
    protected abstract void morningMeeting();

    /**
     * 工作
     */
    protected abstract void work();

    /**
     * 回家
     */
    protected abstract void goHome();

    public final void perform() {
        this.login();

        this.morningMeeting();

        this.work();

        this.goHome();
    }
}
